package org.soderiakelvy.model.services.testCase;

import java.util.Date;

import junit.framework.Assert;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.soderiakelvy.model.domain.ComercializacionPackVO;
import org.soderiakelvy.model.domain.PackVO;
import org.soderiakelvy.model.domain.ProductoVO;
import org.soderiakelvy.model.domain.TipoProductoVO;
import org.soderiakelvy.model.service.ProductoServicio;
import org.soderiakelvy.model.service.SucursalServicio;
import org.soderiakelvy.model.service.imp.ProductoServicioImp;
import org.soderiakelvy.model.service.imp.SucursalServicioImp;
import org.soderiakelvy.model.util.ConstantModel;


public class ComercializacionPackTest {
	SucursalServicio servicio = new SucursalServicioImp();
	static ProductoServicio servicioProducto = new ProductoServicioImp();
	static PackVO pack = CargaUtilVO.getPackVO();
	static TipoProductoVO tipoProducto = pack.getProducto().getTipoProducto();
	static ProductoVO producto = pack.getProducto();
	
	@BeforeClass
	public static void setTest(){
		servicioProducto.insertTipoProductoVO(tipoProducto);
		servicioProducto.insertProductoVO(producto);
		servicioProducto.insertPackVO(pack);
	}
	
	@Test
	public void comercializacionPackCrud(){
		System.out.println("--- TEST COMERCIALIZACION PACK ---");
		SucursalServicio servicio = new SucursalServicioImp();
		ComercializacionPackVO cp = new ComercializacionPackVO();
		cp.setPack(pack);
		cp.setCantidadPack((int)1);
		cp.setFechaAsignacion(new Date());
		Assert.assertEquals(ConstantModel.SUCCESS, servicio.insertComercializcionPackVO(cp));
		System.out.println("ALTA DE COMERCIALIZACION PACK EXITOSA. ID ASIGNADO "+cp.getComercializacionPackId());
		Assert.assertEquals(ConstantModel.SUCCESS, servicio.deleteComercializcionPackVO(cp));
		System.out.println("ELIMINACION DE COMERCIALIZACION PACK EXITOSA");
	}
	
	@AfterClass
	public static void deleteAll(){
		servicioProducto.deletePackVO(pack);
		servicioProducto.deleteProductoVO(producto);
		servicioProducto.deleteTipoProductoVO(tipoProducto);
	}
}
